//
//  TryHoneFileHelper.h
//  TryHone
//
//  Created by TryHone on 17/5/24.
//  Copyright © 2017年 TryHone. All rights reserved.
//

#import <Foundation/Foundation.h>

@interface JFFileHelper : NSObject
/**
 *  获取手机的文档document目录路径
 *
 *  @return 手机的文档document目录路径
 */
+(NSString *) documentFolder;

/**
 *  获取手机的文档document目录下面的Local目录
 *
 */
+(NSString *) documentLocalFolder;

//Local

/**
 *  获取手机应用包的目录路径
 *
 *  @return 手机应用包的目录路径
 */
+(NSString *) bundleFolder;

/**
 *
 *  获取应用的根目录路径
 *
 *  @return 应用的根目录路径
 */
+(NSString *)homeFolder;

/**
 *
 *  获取应用Library目录路径
 *
 *  @return 应用Library目录路径
 */
+(NSString *)libFolder;

/**
 *
 *  获取应用缓存的目录路径
 *
 *  @return 应用缓存的目录路径
 */
+(NSString *)cacheFolder;

/**
 *
 *  获取应用的临时目录路径
 *
 *  @return 应用的临时目录路径
 */
+(NSString *)tempFolder;
/**
 *
 *  删除文件或者目录
 *
 *  @param filePath 文件路径
 *
 *  @return 成功标志
 */
+(BOOL)removeFile:(NSString *)filePath;

/**
 *
 *  创建文件或目录
 *
 *  @param filePath       文件路径
 *  @param isDirectory    是否是目录
 *
 *  @return 成功标志
 */
+(BOOL)createFile:(NSString *)filePath isDirectory:(BOOL)isDirectory;

/**
 *
 *  移动文件
 *
 *  @param srcPath  原始文件
 *  @param destPath 目标文件
 *
 *  @return 成功标志
 */
+(BOOL)moveFile:(NSString *)srcPath to:(NSString *)destPath;

/**
 *
 *  复制文件
 *
 *  @param srcPath  原始文件
 *  @param destPath 目标文件
 *
 *  @return 成功标志
 */
+(BOOL)copyFile:(NSString *)srcPath to:(NSString *)destPath;

/**
 *
 *  写数据到文件中
 *
 *  @param content  内容
 *  @param filePath 路径
 *  @param isExtend 是否用追加模式
 *
 *  @return 成功标志
 */
+(BOOL)writeContent:(NSObject *)content inFile:(NSString *)filePath isExtend:(BOOL)isExtend;

/**
 *
 *  读取文件的内容
 *
 *  @param filePath 文件路径
 *
 *  @return 内容
 */
+(NSData *)readContentOfFile:(NSString *)filePath;

/**
 *
 *  判断文件是否存在
 *
 *  @param filePath 文件路径
 *
 *  @return 存在标识
 */
+(BOOL)isFileExists:(NSString *)filePath;

/**
 *
 *  获取目录下面的子目录
 *
 *  @param filePath 目录路径
 *
 *  @return 子文件数组
 */
+(NSArray *)listFiles:(NSString *)filePath;

/**
 *
 *  判断是否是目录
 *
 *  @param filePath 文件路径
 *
 *  @return 是否是目录
 */
+(BOOL)isDirectory:(NSString *)filePath;

/**
 *
 *  获取文件大小
 *
 *  @param filePath    文件目录的路径
 *  @param isDirectory 是否是目录
 *  @param decimal     小数点位数
 *
 *  @return 大小
 */
+(NSString *)getFileSize:(NSString *)filePath isDirectory:(BOOL)isDirectory decimal:(NSInteger)decimal;

/**
 *  @Author  2015-07-09 01:07:09
 *
 *  获取指定目录下面的文件路径，递归查找
 *
 *  @param name              文件名
 *  @param folder            目录名
 *
 */
+(NSString *)getFilePathByName:(NSString *)name inFiolder:(NSString *)folder;
@end
